﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace kostenbuch
{
    public class Eintrag : IComparable
    {
        public int id { get; set; }
        public string title{ get; set; }
        public string kategorie { get; set; }
        public string konto { get; set; }
        public string notiz { get; set; }
        public double betrag { get; set; }
        public bool monatlich { get; set; }
        public DateTime datum { get; set; }
        public bool ausgabe { get; set; }
        public Eintrag()
        { }
        public Eintrag(DateTime datum, String title, double betrag, bool ausgabe, String kategorie, bool monatlich, String konto, String notiz)
        {
            this.datum = datum;
            this.title = title;
            this.betrag = betrag;
            this.ausgabe = ausgabe;
            this.kategorie = kategorie;
            this.monatlich = monatlich;
            this.konto = konto;
            this.notiz = notiz;
        }
        public void setTitle(string t)
        {
            title = t;
        }
        public string getTitle()
        {
            return title;
        }
        public void setKonto(string k)
        {
            konto = k;
        }
        public string getKonto()
        {
            return konto;
        }
        public void setBetrag(double b)
        {
            betrag = b;
        }
        public double getBetrag()
        {
            return betrag;
        }
        public void setDatum(DateTime d)
        {
            datum = d;
        }
        public DateTime getDatum()
        {
            return datum;
        }
        public void setKategorie(string k)
        {
            kategorie = k;
        }
        public string getKategorie()
        {
            return kategorie;
        }
        public void setMonatlich(bool m)
        {
            monatlich = m;
        }
        public bool getMonatlich()
        {
            return monatlich;
        }
        public void setAusgabe(bool a)
        {
            ausgabe = a;
        }
        public bool getAusgabe()
        {
            return ausgabe;
        }
        public void setNotiz(String n)
        {
            notiz = n;
        }
        public string getNotiz()
        {
            return notiz;
        }

        //Methode, die durch das IComparable Interface angelegt wird
        public int CompareTo(object obj)
        {
            Eintrag eintrag = obj as Eintrag;
            if (eintrag == null)
            {
                throw new ArgumentException("Object is not Eintrag");
            }
            return this.getDatum().CompareTo(eintrag.getDatum());
        }
    }   
}
